-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add instructions to run coverage #737
Conversation
The goal is to provide users with a method to call ci_linux_coverage job in a way that the Jenkins build can exercise all testing mechanisms present in all the ROS2 core packages. The set in this commit is still a work in progress and will be modified.
…bout how to read the results
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, Jose!
Co-authored-by: Louise Poubel <louise@openrobotics.org>
Co-authored-by: Louise Poubel <louise@openrobotics.org>
Co-authored-by: Louise Poubel <louise@openrobotics.org>
Co-authored-by: Louise Poubel <louise@openrobotics.org>
In the case we want to add instructions to run the coverage calculator script, they are in the branch |
made some improvements on formatting, ready to go once we have the final URL for coverage.repos file. |
Instead of creating and maintaining another |
That sounds reasonable to me. I use it with my set of proposed packages and found some issues:
Seems to work with released packages, how should I include the repositories for test_* packages? I assume that we need to store the set of proposed packages for coverage in a place and generate it dynamically somehow? at running time in Jenkins? on changes on ros2.ros2 repository? |
If a repository is not part of the distribution.yaml file then |
Co-authored-by: Marya Belanger <marya@openrobotics.org>
Co-authored-by: Marya Belanger <marya@openrobotics.org>
Co-authored-by: Marya Belanger <marya@openrobotics.org>
Co-authored-by: Marya Belanger <marya@openrobotics.org>
Co-authored-by: Marya Belanger <marya@openrobotics.org>
You did not change any meaning but fix a good bunch of errors, thanks @maryaB-osr |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The text looks good, I'm just debugging the get_coverage_ros2_pkg.py
script directly with @j-rivero
Co-authored-by: Louise Poubel <louise@openrobotics.org>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Missed a couple little things, but otherwise lgtm!
Co-authored-by: Marya Belanger <marya@openrobotics.org>
Co-authored-by: Marya Belanger <marya@openrobotics.org>
Co-authored-by: Marya Belanger <marya@openrobotics.org>
Co-authored-by: Marya Belanger <marya@openrobotics.org>
|
||
* From the ci_linux_coverage Jenkins build copy the URL of the build | ||
* Download the `get_coverage_ros2_pkg <https://github.com/j-rivero/ros2_coverage_jenkins_params/blob/coverage_checker/get_coverage_results/get_coverage_ros2_pkg.py>`__ script | ||
* Execute the script: ``./get_coverage_ros2_pkg.py <jenkins_build_url> <ros2_package_name>`` (`README <https://github.com/j-rivero/ros2_coverage_jenkins_params/blob/coverage_checker/get_coverage_results/README.md>`__) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we really recommend "external" scripts like this which have never been reviewed and are not accessible to edit by anyone else in the team?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@j-rivero is working on moving it to a more common location. Do you have a preference?
I reviewed the script while reviewing this PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is working on moving it to a more common location. Do you have a preference?
I don't have a preference - just not on a personal GitHub user. Please suggest proposals.
I reviewed the script while reviewing this PR.
Just a view things I notices while briefly looking at it (and since I don't see any PR on that repo I will just post it here):
- shebang line doesn't use
/usr/bin/env
- incorrect usage handling
- error messages don't go to
stderr
- 7 line convoluted logic to determine a simple boolean
- parentheses around conditional
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't have a preference - just not on a personal GitHub user. Please suggest proposals.
Fully agree on moving it a better location. ros2/ci repository is the first one that comes to my mind.
Just a view things I notices while briefly looking at it (and since I don't see any PR on that repo I will just post it here):
Thanks for looking into it Dirk. I've updated the code with your findings but let's start a PR procedure to look into it deeper.
The PR adds instructions to run coverage builds. It uses the subset of ros2.repos file (by now at my own fork I'll update the URL as soon as I send the PR for it to ros2/ros2).
Status is draft pending on @maryaB-osr's and @chapulina review and final URL location.